void main() {
  // 匿名方法，像这样用var声明，等号的右边就是一个匿名方法，不过你应该会疑问，这哪里匿名了？你还记得使用forEach的时候传入的方法吗？没错，就是匿名方法
  var printNum = () {
    print(123);
  };
  printNum();

  print('-----------------------------');

  //  自执行方法，用一对小括号把函数给包裹起来就行了
  ((param) {
    print('我自己调用，不麻烦你，我甚至还能传参: $param');
  })('zmjjkk');

  print('-----------------------------');

  // 方法的递归
  void showNum(int num) {
    print(num);
    if (num>0) {
      showNum(num-1);
    }
  }
  showNum(5);
}
